package org.hxyjs.controller;

import org.hxyjs.dto.DTO;
import org.hxyjs.entity.Chef;
import org.hxyjs.page.PageInfo;
import org.hxyjs.service.ChefService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@CrossOrigin
@Controller //@Controller注解是用spring容器生成 对象 默认对象名 chefController
@RequestMapping("/chefController") //@RequestMapping 用户请求查找该资源使用的名字 网名 默认  /chefController
public class ChefController {
	@Resource
	ChefService chefService;
	@RequestMapping("/getAllChef")
	@ResponseBody //把方法的返回值按json转换之后 输出到浏览器
	public DTO<Chef> getAllChefs() throws Exception{
		System.out.println("查询全部");
		return chefService.getAllChefs();
	}

	@RequestMapping("/getChefByCno/{cno}")
	@ResponseBody //把方法的返回值按json转换之后 输出到浏览器
	public DTO<Chef> getChefByCno(@PathVariable("cno") String cno) throws Exception{
		System.out.println(cno + "查询成功");
		return chefService.getChefByCno(cno);
	}

	@RequestMapping("/addChef")
	@ResponseBody
	public DTO<Chef> addChef(@RequestBody Chef chef) throws Exception{//如何从页面传入参数到方法 用这个注解绑定变量@PathVariable
		System.out.println("增加成功");
		return chefService.addChef(chef);
	}

	@RequestMapping("/deleteChef/{cno}")
	@ResponseBody
	public DTO<Chef> deleteChef(@PathVariable("cno") String cno) throws Exception{//如何从页面传入参数到方法 用这个注解绑定变量@PathVariable
		System.out.println(cno+"删除成功");
		return chefService.deleteChef(cno);
	}

	@RequestMapping("/updateChef")
	@ResponseBody
	public DTO<Chef> updateChef(@RequestBody Chef chef) throws Exception{//如何从页面传入参数到方法 用这个注解绑定变量@PathVariable
		System.out.println("修改管理员成功");
		return chefService.updateChef(chef);
	}


	@RequestMapping("/selectChefWithorderAndUser/{cno}")
	@ResponseBody
	public DTO<Chef> selectChefWithorderAndUser(@PathVariable("cno") String cno) throws Exception{//如何从页面传入参数到方法 用这个注解绑定变量@PathVariable
		System.out.println("查询成功");
		return chefService.selectChefWithorderAndUser(cno);
	}
		@RequestMapping("/getChefsByPage")
	@ResponseBody
	public DTO<Chef> getChefsByPage(PageInfo pageInfo) throws Exception {//如何从页面传入参数到方法 用这个注解绑定变量@PathVariable
		System.out.println("查询分页");
		return chefService.getChefsByPage(pageInfo);
	}

}
